Computers and computing systems have affected nearly every aspect of modem living. Computers are generally involved in work, recreation, healthcare, transportation, entertainment, household management, etc. The functionality of computers has also been enhanced by their ability to be interconnected through various network connections.
Computers generally execute instructions where the instructions are able to take into account internal and external inputs. For example, a computer instruction may be executed depending on how previous instructions have been executed. Computer instructions may also be executed in a fashion that takes into account various external parameters such as user inputs, sensor inputs, data received from a networked computer, etc.
Understandably, computers may have errors occur when executing instructions. Errors may occur as the result of un-expected inputs or un-received data, bugs in the computer instructions, and even environmental factors that affect computer hardware including heat and energy radiation.
Many computer programs include functionality for generating an event. Events are indicators that an occurrence has taken place at a computer system. Events may be generated when errors occur. Additionally, events may be generated for other reasons such as to indicate that data has been received, instructions have been executed, an input has been received, etc.
Events are typically displayed by tools, such as an event viewer, associated with the application that generated them. The application can display the event to a user in a user readable format to enable the user to be alerted to the event including information regarding what caused the event. To display an event, the event is provided to the appropriate resource which combines static information and dynamic information to display the event. The static information may include, context information such as user names, description strings, category information, etc. Description strings are static descriptions that describe what happened to cause the event. The description stings are combined with dynamic insertion string variables to convey specific information. Categories may classify events. Exemplary categories are security and configuration. Pointers may be coded at design time to identify the static information. Thus, the static information is generally not included in the event, but can be retrieved based on pointers that are included in the event. When an event is displayed, the static information can be added to the event so as to provide context information about the event. The dynamic information may include information in the event including various pieces of runtime information such as the date and time at which event was generated and insertion strings for the event description.
Events may include complex or technical information that the average computer user does not know how to address. Often, a computer user will provide the event to a network administrator or other technical support to provide debugging based on the information in the event. In one example, the network administrator may examine the event on the computer on which the event was generated. This may be inconvenient in that it requires the network administrator to physically locate themselves at the machine where the event was generated and may cause strain on network administrator resources when the network administrator services a large number of individual machines or machines that are located in a geographically large area. Alternatively, the administrator could connect to each remote machine that he is managing to view the events. This also may be cumbersome and time consuming
In an alternative example, the network administrator may view the event at a network administrator computer. The network administrator can copy a log file that includes the event to the network administrator computer. However, to view the event properly, the network administrator computer needs to load the tools associated with the application program that generated the event. The may require installing the entire application program. If a network administrator services a large number of individual user computers each with different application programs, different versions of application programs, different operating system, etc., the network administrator may need to maintain a large number of program applications, versions, operating systems, etc. to service the user computers.
When events logs are forwarded to the network administrator and displayed using resources at the network administrator computer, the events lack the static context information pointed to by the pointers in the event. The context information is application specific and as such the resources for that application may not be available when the event is forwarded to the network administrator computer.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.